/**
* Created with CLion.
* User:Lenovo
* Date:2023-03-20
* Time:18:56
* Description:头文件
*/
#ifndef AWA_CONTACTS_H
#define AWA_CONTACTS_H

#include <stdio.h>
#include <stdlib.h>
#include <memory.h>
#include <string.h>
#include <errno.h>
#define MAX 100
#define MAX_NAME 20
#define MAX_SEX 5
#define MAX_TELE 12
#define MAX_ADDR 30
#define DEFAULT_SZ 3
#define INC_SZ 2

typedef struct PeoInfo
{
    char name[MAX_NAME];
    int age;
    char sex[MAX_SEX];
    char tele[MAX_TELE];
    char addr[MAX_ADDR];
}PeoInfo;

typedef struct Contact
{
    PeoInfo *data;//存放信息
    int sz;//记录通讯录中的有效信息个数
    int capacity;//通讯录当前的容量
}Contact, *pContact;//同时重命名结构体类型和结构体指针

void InitContact(Contact *pc);          //初始化
void AddContact(Contact *pc);           //增加指定联系人
void ShowContact(const Contact *pc);    //打印联系人
void DelContact(pContact pc);           //删除指定联系人
void SearchContact(const Contact *pc);  //查找指定联系人
void ModifyContact(Contact *pc);        //修改指定联系人
void SortContact(Contact *pc);          //排序联系人
void DestroyContact(Contact *pc);       //销毁通讯录
void saveContact(Contact *pc);          //保存数据到文件

#endif //AWA_CONTACTS_H
